package com.wang.springframework.beans.factory.config;

import com.wang.springframework.beans.BeansException;

/**
 * @author wangjianhua
 * @Description {@link BeanPostProcessor}的子接口，
 * 它在实例化之前添加回调，在实例化之后但在设置显式属性或发生自动连接之前添加回调。
 * @date 2021/9/3/003 14:30
 **/
public interface InstantiationAwareBeanPostProcessor extends BeanPostProcessor {

    /**
     * 在bean对象初始化之前执行此方法
     * @return 可能会返回代理后的bean
     * @param beanClass bean class
     * @param beanName  bean 名称
     * @throws BeansException 异常
     */
    Object postProcessorBeforeInstantiation(Class<?> beanClass,String beanName) throws BeansException;
}
